The present invention pertains generally to the field of image processing, and more precisely to the competition-based coding and decoding of digital images and of digital image sequences.
Several coding and decoding methods exist for the transmission of images. Among the principal types of coding are in particular those such as so-called “intra” coding where an image is coded in an autonomous manner, that is to say without reference to other images, or else so-called “inter” coding which consists in coding a current image with respect to past images so as to express the difference between these images and transmit only this difference.
The methods for coding of the aforementioned type generally comprise a step of predictive coding according to which portions of images, called blocks or macroblocks, of a current image are predicted with respect to other reference blocks or macroblocks, that is to say previously coded and then decoded.
In the case for example of the H264/MPEG-4 AVC (standing for “Advanced Video Coding”) standard, the predictive coding of a macroblock consists in splitting the macroblocks according to a plurality of partitions generally having the shape of blocks of smaller size.
More precisely in the case of the inter coding in accordance with the aforementioned standard, the current macroblock to be coded may be partitioned according to the 16×16, 8×16, 16×8 and 8×8 modes. If the 8×8 mode is selected, each 8×8 block is again partitioned according to the 8×8, 4×8, 8×4 and 4×4 modes. Each current block is compared with one or more blocks respectively of one or more reference images. A motion vector is then obtained which describes the motion between the current block and the reference block having the same position as the current macroblock in the previous image. A predictor of this motion vector is then calculated so as to code the residual between the aforementioned motion vector and the calculated predictor motion vector.
Such a prediction of the motion vector is not suited to all the types of partitioning.
FIG. 1A represents for example the case of a temporal prediction of a motion vector MVp1 of a partition P1 of a current macroblock to be coded, denoted MBCN, which belongs to an image N to be coded in accordance with the aforementioned standard. In the example represented, such a macroblock MBCN is of conventional square shape. The partition P1, of smaller size than that of the current macroblock MBCN, also has a square shape. The partition P1 is moreover surrounded by other macroblocks BR1, BR2, BR3, BR4 which are situated in its close neighborhood and which, in the example represented, have the same shape and size as those of the macroblock MBCN.
In the example represented, the motion vector MVp1 points at a zone p′1 of a reference image, denoted N−1, which is for example the immediately previous image. The reference image zone p′1 has the same position as the partition p1 of the current macroblock MBCN in the previous image N−1 and neighbors a plurality of reference partitions r′1, r′2, r′3 and r′4.
In application of the H264/AVC standard, the aforementioned motion vector MVp1 is predicted spatially only. More precisely, the calculation is undertaken of a reference motion vector which is equal to a median of the motion vectors MV1, MV3, MV4, associated respectively with the reference macroblocks BR1, BR3, BR4.
Moreover, new types of partitioning of the current macroblock to be coded have recently appeared, which had not been provided for in the H264/AVC standard. Thus, as represented in FIG. 1B, a current macroblock to be coded MBCN may be split up into several partitions P1 to Pp of linear shape, L-shaped, or else of entirely arbitrary shape.
The H264/AVC standard does not provide for any motion vector prediction which is suited to the various types of partitioning of FIG. 1B and to the particular case where the reference image zone pointed at by this vector has a geometric shape or a size different respectively from the geometric shape or else from the size of at least one neighbor reference partition.
Such a situation is represented in FIG. 1C which illustrates the case of a prediction of several motion vectors MVp1, MVp2, MVp3 associated respectively with three partitions P1, P2, P3 of a current macroblock to be coded MBCN belonging to an image N to be coded in accordance with the aforementioned standard. In the example represented, the partitions P1, P2 and P3 of the macroblock MBCN are of arbitrary geometric shape.
In the example represented, the motion vector of the first partition P1 of the current macroblock MBCN, denoted MVp1, points at a reference image zone p′1 of a reference macroblock MBCN−1 of a reference image N−1 having the same position as the current macroblock MBCN in the previous image N−1. A reference partition r′1, neighboring the reference image zone p′1, has a very different geometric shape from that of the reference image zone p′1 and the H264/AVC standard does not propose a calculation scheme specific to a typical case such as this.
In application of the H264/AVC standard, to predict for example the motion vector Mvp1, the calculation is undertaken, as in the case of FIG. 1A, of a reference motion vector which is generally equal to a spatial median of the motion vectors MV1, M3, MV4, associated respectively with the reference macroblocks BR1, BR3, BR4 of the current image N.
Such a spatial prediction of the motion vector may turn out to lack precision having regard to the fact that in the image N−1, there exists a difference in shape and in size between the reference image zone p′1 and the reference partitions r′1, r′2, r′3, r′4.
FIG. 1D represents for example the case of a spatial prediction of a motion vector MVp1 of a partition P1 of a current macroblock to be coded, denoted MBCN, which belongs to an image N to be coded in accordance with the aforementioned standard. The conventional prediction scheme used in the H264/AVC standard consists in calculating the motion vector MVp1 of the partition P1 in the guise of median of the reference motion vectors associated respectively with the neighbor reference partitions of the partition P1, namely the partitions BR1, BR3 and BR4 in FIG. 1D.
Now, it should be noted that apart from the partition r′5 arranged just above the partition P1, the other reference partitions BR1, BR2, just like the reference sub-partitions r′1, r′2, r′3 of BR3 and r′4 of BR4, have a geometric shape or a size very different from that of the partition P1. Thus, in a manner analogous to FIG. 1C, the conventional prediction scheme will not therefore be suited to the particular partitioning illustrated in FIG. 1D. Indeed, such a scheme does not impose any rules for selecting the most suitable reference partitions in terms of geometric shape or size, and therefore corresponding reference motion vectors for the prediction of MVp1.
Other schemes for calculating the reference motion vector with a view to Inter-coding the partitions of a current macroblock are moreover known.
One of them is described in the publication IEEE Transactions on Circuits and System for Video Technology, Vol. 18, 1247-1257 (September 2008), by G Laroche, J. Jung, and B. Pesquet-Popescu and relates to the cases where, as in the H264/AVC standard, the macroblocks are split according to a plurality of partitions generally having the shape of blocks of smaller size. According to this scheme, the motion vector of a macroblock of a current image is predicted with respect to a reference motion vector which is chosen as being the vector pointing at the pixel situated at the top and furthest on the left of the macroblock having the same position as the current macroblock in a previous image.
If one attempts to apply the latter scheme to the prediction of the vector MVp1 of FIG. 1A or to that of the vector MVp1 of FIG. 1C:                the vector MVp1 of FIG. 1A is obtained on the basis of a reference motion vector which is associated with the reference partition r′2, the leftmost pixel of the reference partition p′1 being situated in the reference partition r′2;        the vector MVp1 of FIG. 1C is obtained on the basis of a reference motion vector which is associated with the reference partition r′1, the leftmost pixel of the reference partition p′1 being situated in the reference partition r′1.        
Neither is the prediction obtained with this coding scheme suited to the various possible types of partitioning for the same reasons as those mentioned above in conjunction with the prediction scheme used in the H264/AVC standard.